home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 06 - 1990 / 06.07 Jul 90 / Printing Primer ƒ / SetMargin.c < prev    next >
Encoding:
C/C++ Source or Header  |  1989-11-07  |  1.3 KB  |  60 lines  |  [TEXT/KAHL]

  1. /*******************************************\
  2. *    file:         PrintTitle.c                *
  3. *    version:    0.1ß                        *
  4. *     XFCN ID        504                            *
  5. *                                            *
  6. * params[0] == left margin                    *
  7. * params[1] == right margin                    *
  8. * params[2] == top margin                    *
  9. * params[3] == bottom margin                *
  10. * -----------------------------------------    *
  11. * By:    Donald Koscheka                        *
  12. * Date:    30-OCT-89                            *
  13. * ©    Copyright 1989, Donald Koscheka            *
  14. *    All Rights Reserved                        *
  15. *                                            *
  16. * -----------------------------------------    *
  17. \*******************************************/
  18.  
  19. #include <MacTypes.h>
  20. #include <MemoryMgr.h>
  21. #include <ResourceMgr.h>
  22. #include <OSUtil.h>
  23. #include <HyperXCmd.h>
  24. #include <HyperUtils.h>
  25. #include <PrintMgr.h>
  26. #include "ReportUtils.h"
  27.  
  28.  
  29.  
  30. pascal void main( paramPtr )
  31.     XCmdBlockPtr    paramPtr;
  32. /**********************************
  33. * Passing no parameters has the effect
  34. * of resetting the margins.
  35. **********************************/
  36. {
  37.     Handle        pH;
  38.     pInfoPtr    pp;
  39.     short        pts[4];
  40.     short        i;
  41.     
  42.     if( paramPtr->paramCount && ( pH = GetSystemResource( PAGE_INFO, PAGE_ID ) ) ){
  43.         pp = (pInfoPtr)*pH;
  44.         
  45.         for( i = 0; i < 4; i++ )
  46.             if( paramPtr->params[i] ){
  47.                 pts[i] = parseNum( *(paramPtr->params[i] ) );
  48.             }
  49.             else
  50.                 pts[i] = 0;
  51.  
  52.         SetMargin( pp, 0,0,0,0 );    /*** need to reset first ? ***/
  53.         SetMargin( pp, pts[0], pts[1], pts[2], pts[3]  );
  54.     }
  55.     
  56.     paramPtr->returnValue = NIL;
  57. }
  58.  
  59.  
  60.